#ifndef OPTIONS_STATE_H_INCLUDED
#define OPTIONS_STATE_H_INCLUDED

#include "Button.h"
#include "CustomCursor.h"
#include "GameState.h"
#include "Image.h"
#include "Singleton.h"

class OptionsState : public GameState, public Uncopyable
{
	private:
		OptionsState();
		friend class Singleton<OptionsState>;

	public:
		void LoadImages();
		void LoadButtons();

		void OnActivated();
		void OnDeactivated();
		virtual void Draw();
		virtual void Update();

		virtual void OnKeyboardEvent(const SDL_KeyboardEvent& k);
		virtual void OnMouseButtonDownEvent(const SDL_MouseButtonEvent& mb);
		virtual void OnMouseMotionEvent(const SDL_MouseMotionEvent& mm);

	private:
		Image m_bkgroundImg;
		Image m_soundOptImg;
		Button m_onOffButt;
		Button m_backButt;
		bool m_soundOnBool;
		bool m_isPressed;
		CustomCursor m_custCursor;
};

typedef Singleton<OptionsState> TheOptionsState;

#endif